1

基本上我是一个 .net 开发人员,所以我对此一无所知。

我已经购买了一个 php 脚本 [站点] 并通过http://spicyindia.net/对其进行了配置

当我将 php 附加到文件扩展名时,一切工作正常。

例如工作正常

http://spicyindia.net/all.php

http://spicyindia.net/all

失败

通过我所做的一些 RND,有一个名为 .htaccess 的文件负责此操作..

我也将该文件上传到托管服务器。

有人可以告诉我是否需要任何额外的配置。

.htaccess 中的一些行。

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteBase /
RewriteRule ^login$ login.php
RewriteRule ^logout$ logout.php

任何帮助,将不胜感激。

4

4 回答 4

3

在你的.htaccess文件中,试试这个来访问所有,

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
于 2013-09-29T05:46:53.390 回答
2

它只重写loginlogout

尝试使用这个:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

它重写每个.php文件

于 2013-09-29T05:46:56.833 回答
1

这会将所有转换www.domain.com/xyz.phpwww.domain.com/xyz

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
于 2013-09-29T05:53:10.117 回答
0

如果你想隐藏.php扩展然后删除那些 2RewriteRule并让你的 .htaccess 像这样:

Options +FollowSymLinks -MultiViews
RewriteEngine On 
RewriteBase /

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}/+\s(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]

参考:Apache mod_rewrite 简介

于 2013-09-29T05:47:40.170 回答