0

我试图在我的 Apache2 服务器上实现这一点:

任何时候输入这样的网址:

http://www.mydomain.com/first_location

mod_rewrite 应该重定向到:

http://www.mydomain.com/first_location/first_location.php

其中“first_location”可以是任何有效的文件夹名称。

我已经能够收集到这么多:

RewriteRule ^[A-Za-z0-9-]/ .......

但不确定如何处理这种情况下的重定向 url 部分。

感谢您对完成替换部分的任何帮助(如有必要,还可以更正模式部分)。

4

1 回答 1

1

如果first_location是一个有效文件夹,则有一个名为mod_dir的 apache 模块,它会自动将浏览器重定向到同一文件夹,但尾部带有斜杠。因此,您可以使用关闭mod_dirDirectorySlash Off,或者允许重定向并仅匹配尾部斜杠。所以你想要一些类似的东西:

RewriteEngine On
# check that it's a valid folder
RewriteCond %{REQUEST_FILENAME} -d
# check that the php file actually exists:
RewriteCond %{REQUEST_URI} ^/([^/]+)/$
RewriteCond %{REQUEST_FILENAME}%1.php -f
# rewrite
RewriteRule ^/?([^/]+)/$ /$1/$1.php [L]
于 2013-08-16T01:04:48.617 回答