0

我有一个非常基本的 htaccess,试图将目录样式转换为查询样式。IE

a. /public_html/main/folder1/folder2     ... etc
b. /public_html/main.php?1=folder1&1=folder2    

无论我尝试什么正则表达式,无论我尝试什么重写规则 - 我都无法在这个问题上取得任何进展。

我已经在网上搜索过很多次了。我尝试了其他论坛中的 10 种不同的“推荐”解决方案。

我不知道还能去哪里看。这是我当前的 htaccess:

Options +FollowSymLinks  
RewriteEngine On 
RewriteRule ^public_html/([A-Za-z0-9]+)/([0-9]+)/?$ main.php?name=$1&page=$2 [NC]

这是我的 httpd.conf Htaccess 指令。

(Directory "/Users/admin/Sites")
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from all
(/Directory)
(Directory "/Users/admin/Sites/MFCS/V3/public_html/mfcs/public_html")
    AllowOverride  All
(/Directory)

我在这个例子的目录标签上替换了大于/小于。

httpd.conf 中确实有适当的标签。

4

1 回答 1

0

试试这个:

Options +FollowSymLinks  
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/main/(.*)/(.*)/?$ /main.php?name=$1&page=$2 [L]

这会将请求重定向到:

http://www.example.com/main/folder1/folder2

至:

http://www.example.com/main.php?name=folder1&page=folder2

如果这不是您寻找的结果,请在前后提供样品。另一方面,您是否确保启用mod_rewrite?我还public_html从 URI 中删除了 ,因为它通常对公众不可见。

于 2013-01-08T00:12:11.680 回答