簡體   English   中英

將所有URL調用重定向到特定的php文件

[英]Redirect all URL calls to a particular php file

任何http請求(例如pdf)都應重定向到validate.php,因此,如果您調用URL(例如http:...../whatever/whatever/1.pdf ),則htaccess應該執行validate.php

我在網絡和stackoveflow上經歷了很多例子,還沒有運氣。 由於大多數服務器對許多人來說都可以正常工作,所以我想我的服務器肯定有問題。

我該如何解決這個問題?

謝謝

注意: htaccess和validate.php文件存儲在根目錄中。

還有很多。

將此代碼放在您的DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteRule \.pdf$ /validate.php [L,NC]

就這樣:

# Turn On RewriteEngine
RewriteEngine On
# Set RewriteBase 
RewriteBase /
# Redirect any http request to validate.php
RewriteRule . /validate.php [NC,L]

將此添加到您的.htaccess文件中的<IfModule mod_rewrite.c>部分中

RewriteEngine On
RewriteRule ^ validate.php [L]

問題是您將Apache htaccess重定向和授權與所需的應用程序級別行為混為一談。 至少基於我要基於的事實,即您希望每個對.pdf請求都經過一個名為validate.php的腳本,然后才能訪問.pdf

當我說您正在混淆時,強制進行此類驗證的邏輯應該在您的validate.php或您的PHP應用程序的較大框架內。 該腳本應在設置cookie或會話變量或您可能具有的任何驗證方案之后驗證用戶,然后下載.pdf文件。

總而言之,這不是您描述方式中要回答的簡單問題。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ validate.php [L]

那這個呢?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM