0

这个 .htaccess 代码给我的子域 mobile.mixtapemonkey.com 带来了麻烦。当我尝试转到子域的页面(例如:mobile.mixtapemonkey.com/page.php)时,它会将我发送到我的常规域的 404 页面。当谈到 .htaccess 的东西时,我实际上是一个骨架,所以我希望如果有人可以重写它,那么它仍然会重写我所有的 .php 扩展名,并且仍然允许我正确使用我的子域。我并不担心重写子域扩展。

它还有一个奇怪的东西,当我在 facebook 上发布它时,它会将“/”变成 %2F,并不担心,但如果这是一个小修复,我会很感激。

Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ $1 [R=301,L]
RewriteCond %{THE_REQUEST} ^(.*)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.*)\.php$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
ErrorDocument 404 http://mixtapemonkey.com/404
4

1 回答 1

1

我不认为你的正则表达式%{THE_REQUEST}是正确的。
如果你愿意,你可以在这里测试它:http ://rubular.com/

我使用了它,它对我有用:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
于 2013-07-23T04:01:18.207 回答