【问题标题】:Htaccess, Directory-Style not rewriting to query-styleHtaccess,目录样式不重写为查询样式
【发布时间】:2023-03-09 16:40:01
【问题描述】:

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

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 中确实有适当的标签。

【问题讨论】:

标签: php html linux apache .htaccess


【解决方案1】:

试试这个:

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?我还从 URI 中删除了 public_html,因为它通常对公众不可见

【讨论】:

猜你喜欢
  • 2021-05-30
  • 2023-02-14
  • 2013-07-27
  • 2013-10-03
  • 2018-06-23
  • 2016-10-10
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多